home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload Trio 2
/
Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO
/
dir40
/
pc37042.zip
/
MAC
/
TIME370.MLC
< prev
next >
Wrap
Text File
|
1987-08-13
|
5KB
|
202 lines
TIME370 CSECT
USING *,12
LR 12,15
B BEGIN
PARM DS 0H
*
* FROM HERE TO THE DC X'FF', NOTHING ELSE THAN TEST MACROS CAN BE CODED.
* THE OPERANDS OF THE TEST MACRO ARE EXACTLY THE INSTRUCTION TO BE TIMED,
* WITH THE EXCEPTION THAT THE OPCODE IS IMMEDIATELY FOLLOWED BY A COMMA
* FOLLOWED BY THE NORMAL OPERANDS OF THE INSTRUCTION TO BE EXECUTED.
*
* USE FIELD NAMES ONLY, NO LITERALS !
*
* THE TEST MACRO HAS ONE OPTIONAL KEYWORD PARAMETER:
* TIME=YES IS THE DEFAULT AND INDICATES THAT THE INSTRUCTION IS TO BE TIMED
* TIME=NO INDICATES THAT THE INSTRUCTION IS NOT TO BE TIMED BUT IS TO BE
* EXECUTED AS A PREREQUISITE FOR COMING INSTRUCTIONS
* TIME=WAIT INDICATES NOT TO START THE EXECUTION NOW BUT TO WAIT FOR MORE
* INSTRUCTIONS TO BE TIMED AS A GROUP (THE GROUP ENDING WITH THE
* INSTRUCTION WHERE TIME IS OMITTED OR IS EQUAL TO YES.
*
* THE TIMING PROCESS IS LONG. SO WHEN YOU INSERT NEW TEST MACROS AND WANT TO
* MAKE SURE THEY ARE GOOD WITHOUT WAITING FOR FULL TIMING, SUBMIT BY SPECIFYING
* "TIME370 TEST" TO RUN THE JOB FASTER.
*
* TIME370 WILL DISPLAY THE RESULTS BOTH ON THE SCREEN AND IN A FILE CALLED
* TIME370.LST
*
*
* HERE ARE SOME OF THE FIRST TEST MACROS, IN ALPHABETICAL ORDER.
*
TEST A,5,FULL
TEST AH,5,HALF
TEST AL,5,FULL
TEST ALR,5,6
TEST AP,P1A,P1B
TEST AP,P8A,P1B
TEST AP,P8A,P8B
TEST AR,5,6
TEST BAL,5,INST+4
TEST BALR,5,0
TEST LA,6,INST+2,TIME=NO
TEST BALR,5,6
TEST BC,0,INST+4
TEST BC,15,INST+4
TEST BCR,0,6
TEST LA,6,INST+2,TIME=NO
TEST BCR,15,6
TEST BCT,6,INST+4
TEST BCTR,5,0
TEST LA,6,INST+2,TIME=NO
TEST BCTR,5,6
* TEST BXH ****NOT TESTED YET****
* TEST BXLE ****NOT TESTED YET****
TEST LA,5,4000,TIME=NO
TEST C,5,FULL
TEST CH,5,HALF
TEST CL,5,FULL
TEST CLC,C1A,C1B
TEST CLC,C8A,C8B
TEST CLC,C64A,C64B
TEST CLC,C8A,C8X
TEST LA,6,C64A,TIME=NO
TEST LA,7,64,TIME=NO
TEST LA,8,C64B,TIME=NO
TEST LA,9,64,TIME=NO
TEST CLCL,6,8
TEST CLI,FULL,0
TEST CLM,5,1,X00
TEST CLM,5,15,X00
TEST CLR,5,6
TEST CP,P1A,P1B
TEST CP,P8A,P1B
TEST CP,P8A,P8B
TEST CP,P8A,P8A
TEST CR,5,6
TEST CVB,5,P8A
TEST ZAP,DOUBLE,P8A,TIME=NO
TEST CVB,5,DOUBLE
TEST CVD,5,P8A
TEST CVD,5,DOUBLE
*
DC X'FFFF'
DOUBLE DC D'1'
X00 DC X'00000000'
FULL DC F'1'
HALF DC H'1'
P1A DC PL1'0'
P1B DC PL1'1'
P8A DC PL8'0'
P8B DC PL8'1'
C1A DC CL1'A'
C1B DC CL1'A'
C8A DC CL8'AAAAAAAA'
C8B DC CL8'AAAAAAAA'
C8X DC CL8'XXXXXXXX'
C64A DC CL64'AAAAAAAA'
C64B DC CL64'AAAAAAAA'
FIELD DS CL8
ZONE DS CL8
*
BEGIN LA 1,TEST
LA 2,L'TEST
SVC 13
CLC TEST,X'0082'
BNE OPEN
MVC CYCLES,=F'100'
OPEN OPEN FILE
XR 0,0
SPM 0
LA RGEN,INST
LA RX,PARM
ST RX,X1
B TIME
LOOP CLI 0(RX),X'FF'
BE FINAL
XR 1,1
IC 1,0(RX)
EX 1,MOVEINST
LA RGEN,1(1,RGEN)
MVC REC,BACKGRND
LA 1,5(1,RX)
XR 2,2
IC 2,1(RX)
EX 2,MOVETXT
LA 1,2(1,2)
N 1,=X'FFFFFFFE'
ST 1,X1
CLI 2(RX),C'W'
BH TIME
BE WAIT
MVC RECMSG(L'MSGEXEC),MSGEXEC
STM 1,4,OLDSAVE
LM 1,4,NEWSAVE
EX 0,INST
STM 1,4,NEWSAVE
LM 1,4,OLDSAVE
LA RGEN,INST
B PUT
WAIT MVC RECMSG(L'MSGWAIT),MSGWAIT
B PUT
TIME MVC 0(8,RGEN),BCT
STM 1,4,OLDSAVE
LM 1,4,NEWSAVE
L 13,CYCLES
XR 0,0
SVC 154
ST 15,START
INST DS 64C
BCT BCT 13,INST
B END
END XR 0,0
SVC 154
S 15,START
SH 15,TIMEBCT TIME OF BCT
SWBCT NOP GO
MVI SWBCT+1,X'F0'
STH 15,TIMEBCT
GO CVD 15,WORK
STM 1,4,NEWSAVE
LM 1,4,OLDSAVE
MVC RECMSG(MSGTIME2-MSGTIME),MSGTIME
ED RECTIME,WORK+5
LA RGEN,INST
PUT LA 2,REC
SVC 209
MVI REC$,C' '
LA 1,REC
LA 2,L'REC+1
SVC 13
PUT FILE,REC
MVI REC$,C'$'
L RX,X1
B LOOP
FINAL CLOSE FILE
SVC 0
MOVEINST MVC 0(0,RGEN),4(RX)
MOVETXT MVC RECTXT(0),0(1)
*
RX EQU 3
RGEN EQU 4
X1 DS F
OLDSAVE DS 4F
NEWSAVE DS 4F
START DS F
WORK DS PL8
CYCLES DC F'54932'
TIMEBCT DC H'0'
TEST DC C'TEST'
BACKGRND DC 24C'. ',30C' '
REC DS 0CL78
RECTXT DC CL48'BCT CONTROLLING TIMING LOOP'
RECMSG DC CL30' '
REC$ DC C'$',X'0D0A'
RECTIME EQU RECMSG+11,6
MSGEXEC DC C'NOT INCLUDED IN TIMING'
MSGWAIT DC C'TIMED WITH INSTRUCTION BELOW'
MSGTIME DC C'EXECUTED IN',X'402020202120',C' MICROSECONDS'
MSGTIME2 EQU *
FILE DCB DDNAME='TIME370.LST',MACRF=P,RECFM=T,LRECL=82
END